var formX;

Ext.onReady(function()
	{
	    Ext.BLANK_IMAGE_URL = _PHP_.url.webroot+'inc/js/extjs/ext-2.1/resources/images/default/s.gif';
	    Ext.form.Field.prototype.msgTarget = 'under';
		
		Ext.util.CSS.createStyleSheet('.x-tool-help {background-image:url('+_PHP_.url.webroot+'inc/js/extjs/ext-2.1/resources/images/default/panel/tool-sprites.gif) !important; }', 'helpCSS');
		
	    formX = new Ext.form.FormPanel
	    	({
		        url: _PHP_.form.url.submit,
		        method: 'post',
		        
		        title: _PHP_.form.title,
		        el: 'form',
		        fileUpload: true,
		        frame: true,
		        
		        bodyStyle: 'padding: 5px 0 5px 0',
		        width: 500,
		        height: 'auto',
		        labelWidth: 75,
		        
		        defaults:
		        	{
						blankText: 'Este campo é obrigatório',
		        	 	maxLengthText: 'Limite do campo: {0} caracteres',
						maxLength: 255
					},
		        	
		        buttons:
			        [
				        {
				            text: 'Salvar',
				            handler: function()
					            {
									if(formX.form.isValid())
									{
										if(!formX.hasListener('beforeaction'))
										{
											formX.doSubmit();
										}
										else
										{
											formX.fireEvent('beforeaction');
										}	
									}
									else
									{
										Ext.MessageBox.alert('Erro', 'Por favor preencha os campos indicados.');
									}
								}
				        },
				        {
				            text: 'Voltar',
				            handler: function()
					            {
									document.location.href = _PHP_.form.url.back;
								}
				        }
			        ],
				tools:
					[{
						id: 'help',
						handler: function()
							{
								if(!formX.ajudaWin)
								{
									formX.ajudaWin = new Ext.Window
										({
						                    title: 'Licença',
											bodyStyle: 'padding: 10px; text-align: justify;',
						                    resizable: false,
						                    minimizable: false,
						                    maximizable: false,
						                    stateful: false,
						                    modal: true,
						                    shim: true,
						                    width:400,
						                    minHeight: 80,
						                    border: false,
						                    closable: true,
											closeAction: 'hide',
											html: '<p>Essa aplicação faz uso gratuito da biblioteca Javascript ExtJS. Em respeito aos termos da licença GPL 3, estabelecidos nos termos do tipo de uso em questão, os códigos fontes das partes desse sistema que fazem uso dessa biblioteca, estão licenciados também pela GPL 3 e podem ser baixados em: <a href="http://code.google.com/p/conectas/" target="_blank">http://code.google.com/p/conectas/</a></p>'
										});
								}
								
								formX.ajudaWin.show();
							}
					}],
				monitorResize: false,
				doSubmit: function(url)
			        {
			            formX.form.submit
							({
								url: (url ? url : null),
								waitTitle: 'Processando ...',
								waitMsg: 'Aguarde',
								success: function(form, action)
									{
										var response = Ext.util.JSON.decode(action.response.responseText); 
										//alert(action.response.responseText); return false;
										
										if(!formX.hasListener('success') ||
										   (formX.hasListener('success') && formX.fireEvent('success', response) === true)) 
										{
											if (response.success == 'true') 
											{
												Ext.MessageBox.wait('Aguarde', 'Processando ...');
												window.location = response.redirect;
											}
											else 
											{
												Ext.MessageBox.alert('Erro', Ext.util.Format.htmlDecode(response.erro));
											}
										}
									},
								failure: function(form, action)
									{
										Ext.MessageBox.alert('Erro', 'Não foi possivel conectar-se com o servidor, por favor tente novamente');
									}
							});
			        }
		    });
		    
		
		if(window.row && window.row.init) row.init();
		if(window._PHP_ && window._PHP_.onload) _PHP_.onload();
	});